Large enterprises are expanding their use of information systems. The number of employees needing access to an enterprise's information system increases as the use of information systems expand. Traditionally, enterprises use desktop computers to provide employees with access to its information systems. As employees access an enterprise's information systems, the desktop computer processes and stores the information locally. Information is transferred between server computers and desktop computers via a network as needed.
Nevertheless, for large enterprises, the deployment and administration of desktop computer systems is complicated and expensive. As an alternative to the complexity and cost associated with using desktop computers in an enterprise environment, thin-client enterprise systems have emerged. Thin-client systems use a thin-client device to receive user input and display screen output. Thin-client devices have no local processing, operating systems, or software applications. Instead, server computers process and store information associated with each thin-client device, and generate the screen displays to be sent back to each thin-client device. By consolidating all processing and storage into a relatively small number of server computers, administration is greatly simplified. Additionally, thin-client devices are less expensive than desktop systems due to their reduced complexity.
FIG. 1 shows an example thin-client system 100. Thin-client system 100 includes thin-client devices 102, 104, 106, 108, 110, and 112. An example of a thin-client device is the Sun Ray™ 100 Appliance manufactured by Sun Microsystems. The thin-client devices communicate with thin-client enterprise servers 120 and 125 via a dedicated network 115. The dedicated network may be any type of data communications system, such as a standard Ethernet network. Other wired or wireless data communication systems may also be employed. The dedicated network may include various standard networking components, such as switches, routers, hubs, bridges, or other types of communications hardware. The dedicated network 115 only carries communications between the thin-client devices and thin-client enterprise servers.
In an embodiment of thin-client system 100, a small software application on each thin-client device, referred to as a firmware, facilitates the connection and configuration of the thin-client device in the thin-client system. The firmware may also facilitate the interaction between input and output devices on the thin-client device and the network interface of the thin-client device. In an embodiment, the firmware is stored in a non-volatile memory device, such as a flash memory device, located in each thin-client device.
Thin-client enterprise servers 120 and 125 process and store data for the thin-client devices. Thin-client enterprise servers can further include an authentication server program to initiate user sessions on a thin-client device, a logging server for recording system messages, and firmware updates for updating the firmware on a thin-client device. An example of a thin-client enterprise server is the Sun Ray™ server software running on a Sun SPARC™ computer. Because all data is processed and stored by a thin-client enterprise server, the thin-client system requires at least one thin-client enterprise server. Thin-client system 100 shows two thin-client enterprise servers; however, the maximum number of thin-client enterprise servers is limited only by the capacity of dedicated network 115. Similarly, the maximum number of thin-client devices is only limited by the computing capabilities of the thin-client enterprise servers and the capacity of the dedicated network 115.
Thin-client enterprise servers 120 and 125 may also be connected to an enterprise network 130 via network connections 133 and 135. The enterprise network 130 may be any type of data communications system, such as a standard Ethernet network, or other wired or wireless data communication system. The enterprise network 130 may include various standard networking components, such as switches, routers, hubs, bridges, or other types of communications hardware. Enterprise network 130 may include other general or specialized computing devices, such as additional server computers, databases, network storage devices, and general purpose desktop computers. In an embodiment, thin-client enterprise servers 120 and 125 may access other computing devices via the enterprise network 130 to process data for the thin-client devices. Enterprise network 130 may also be connected to an intranet 140 and the Internet 150 for this purpose.
In a large enterprise, thin-client devices may need to be added or removed at any time without disrupting the thin-client system. It is desirable for a thin-client system to automatically connect and configure its thin-client devices as they are added. In an embodiment, thin-client devices use the Dynamic Host Configuration Protocol (DHCP) to automatically configure themselves and connect to the thin-client system. The DHCP provides a standard framework for passing network configuration information to hosts on a TCP/IP network. The most recent version of this protocol is found in RFC 2131, which is published by the RFC-Editor at http://www.rfc-editor.org/ and incorporated by reference herein.
In thin-client systems using DHCP, when a thin-client device is first connected with a thin-client system 100, the thin-client device broadcasts a “DHCPDiscover” message over the dedicated network 115. At least one thin-client enterprise server includes a DHCP server program adapted to manage the configuration of dedicated network 115. In response to the “DHCPDiscover” message from the thin-client device, each DHCP server on the dedicated network responds with a “DHCPOffer” message containing a set of configuration parameters offered for use by the thin-client device. The thin-client device selects one set of configuration parameters for its use, and notifies the DHCP servers of its selection with a “DHCPRequest” message. A “DHCPAck” message is sent from the DHCP Server offering the selected configuration parameters to confirm the thin-client device's selection of configuration parameters.
The DHCP standard provides network configuration parameters necessary for correct operation of standard desktop computers on a TCP/IP network. These network configuration parameters include an IP address, netmask, and gateway address. However, thin-client devices require additional parameters for correct operation in a thin-client system. These thin-client parameters include addresses for an authentication server program, a log server program, and a firmware update.
In an embodiment, thin-client system provides thin-client parameters to thin-client devices via a DHCP server. As mentioned above, the thin-client system 100 includes at least one thin-client enterprise server providing a DHCP server for the dedicated network 115. The DHCP server for the dedicated network 115 is modified to include the necessary thin-client parameters in its response to a “DHCPDiscover” message from a thin-client device. Vendor-specific tags allow DHCP servers to include additional information in their messages for a specific network environment. The DHCP server inserts a vendor-specific tag containing thin-client parameters into the “DHCPOffer” message. When a thin-client device receives a “DHCPOffer” message from the DHCP server, the thin-client device identifies the vendor-specific tag and extracts the necessary thin-client parameters. This mechanism allows a thin-client device to automatically receive network configuration parameters and thin-client parameters from a single DHCP server.
In addition to automatically connecting and configuring themselves to a thin-client system, thin-client devices also automatically update their firmware software with a version compatible with the thin-client enterprise server. The thin-client firmware will be automatically upgraded or downgraded to a version supported by the thin-client enterprise server. In an embodiment, a firmware update location is included in the thin-client parameters sent to the thin-client device by the DHCP server associated with a thin-client enterprise server. The firmware update location is a network address containing a firmware update compatible with the thin-client enterprise server. The thin-client device retrieves a copy of the firmware update from the firmware update location. The thin-client device replaces its own firmware with the firmware update. In an embodiment, thin-client device stores the firmware update in a non-volatile memory device, such as a flash memory device, overwriting any previously stored versions of the firmware.
Although a thin-client systems offer lower cost and complexity compared with desktop computer systems, it is desirable to further reduce the thin-client systems cost and complexity by deploying a thin-client system over an enterprises' existing network infrastructure and eliminating the need for a dedicated network.
FIG. 2 shows an example of a desired thin-client system 200 deployed over an enterprise network 230. Enterprise network 230 may comprise a standard TCP/IP network using Ethernet or any other wired or wireless data communication system. The dedicated network may include various standard networking components, such as switches, routers, hubs, bridges, or other types of communications hardware. The enterprise network 230 may include various standard networking components, such as switches, routers, hubs, switches, bridges, or other types of communications hardware. The enterprise network 230 may also be connected to an intranet 240 and the Internet 250. The enterprise network 230 carries communications between the thin-client devices and thin-client enterprise servers.
Thin-client devices 202 and 204 are connected with the enterprise network 230. The enterprise network 230 may also be connected with other general or specialized computing devices, such as databases, network storage devices, general purpose network server computers 210, and general purpose desktop 208 or laptop 206 computers. One or more thin-client enterprise servers 225 may also be connected to an enterprise network 230. Enterprise network 230 includes at least one DHCP server program 220 to manage the configuration of enterprise network 230. A DHCP server program 220 may be associated with a thin-client enterprise server, as in thin-client system 100, or with a general purpose network server 210.
Connecting thin-client devices directly with an enterprise network 230, as opposed to a dedicated network, presents several problems. Thin-client devices cannot operate correctly without the thin-client parameters. In a dedicated network, the thin-client enterprise server is the only DHCP server connected with thin-client devices, ensuring that the thin-client device receives thin-client parameters from a DHCP server. However, in an enterprise network, thin-client device may connect with any DHCP server on the enterprise network. Some DHCP servers are not associated with a thin-client enterprise server and will not include thin-client parameters in the appropriate vendor-specific tag. When a thin-client device contacts one of these DHCP servers, the thin-client device would receive network configuration parameters but would not receive any thin-client parameters. Moreover, in some enterprise network environments, the thin-client enterprise server may not be permitted to allocate network configurations. In this situation, DHCP servers associated with a thin-client enterprise server cannot respond to a thin-client device configuration request.
Additionally, when a thin-client device contacts a thin-client enterprise server, the thin-client device will automatically update its firmware to the version supported by the thin-client enterprise server. If the thin-client device has a more recent firmware version than the version supported by the thin-client enterprise server, the thin-client device will downgrade its firmware to the version supported by the thin-client enterprise server. However, some firmware versions may not support critical features needed to correctly operate thin-client devices in an enterprise network environment. If a thin-client firmware is downgraded to a version missing critical features needed to operate in an enterprise network environment, the thin-client device will cease to function on the enterprise network.
Thus, it is desirable to have a thin-client device which is capable of 1) automatically connecting and configuring itself on an enterprise network regardless of the location of a DHCP server; and 2) automatically updating its firmware while safeguarding against inadvertent loss of enterprise network functionality.